The present invention relates to a printer controller, especially to a printer controller for obtaining a high quality image.
As a technique for printing a full color image by using the four basic colors of C (Cyanic), Y (Yellow), M (Magenta) and K (Black), a technique called multivalued dither processing is known. In multivalued dither processing, the difference between the color density of each pixel in a pixel matrix and the value of a corresponding element in a dither matrix is expressed by a multiple-value number, and in accordance with the multiple-value number, an area ratio of each basic color in a print unit area corresponding to the pixel is determined. Finally, each basic color is printed in the unit area at each determined area ratio.
An example of the above-mentioned multivalued dither processing is disclosed in JP-B-50909/1993.
In the processing technique disclosed in JP-B-50909/1993, by using a dither matrix in which dither values of elements monotonously increase in the main scanning direction, a dot concentration type dither pattern is implemented, and the color gradation in the multivalued dither processing is stabilized.
Furthermore, as a method of printing a full color image by using a color laser printer, a method in which an area to be printed for a pixel is changed corresponding to a color density by combining a dither processing method and a pulse width modulation method, a so-called multi-level gradation printing method using a dither method, is known. For example, in an image processing apparatus which is disclosed in JP-A-1611977/1984, by preparing various sizes of dither matrixes and pulse width modulation means which can perform modulation of a plurality of pulse widths and pulse periods, and by changing a combination of one of the dither matrixes and one of the PNM means for each image page of papers according to the kind of information provided on the paper, that is, a paper only including characters, a paper only including pictures, a paper including characters and pictures, etc., the number of color gradations for each pixel is changed, and an optimal printing is implemented according to the kind of information provided on the paper.
Generally, since a color image is expressed by three kinds of color signals of multiple levels, namely, bit map data, a great amount of image data is employed to express even one image. For example, as a method which can efficiently store or transmit such a great amount of data, a data compression processing method, which is a so-called JPEG (Joint Photographic Expert Group) method is known (International Standards IPU-TT. 81 Recommendation).
However, in the above-mentioned method, since the data compression factor changes according to the contents of a picture, it is not possible to estimate the memory capacity necessary to store the compressed data of one page in advance. Therefore, since it is necessary to provide sufficient memory capacity by assuming the lowest data compression factor, the production cost of a printing system to which the above-mentioned method is applied is increased. Furthermore, since the data compression factor changes, the signal processing also becomes complicated.
On the other hand, the present inventors have devised a code processing method for color image information, as disclosed in JP-B-7688/1994, in which the data compression factor is kept constant. That is, in the code processing method for information of the three basic colors to express a color image, each block is composed of a plurality of pixels, and the pixels in each block are classified into two groups by using an average gradation level of the block as a threshold value for each basic color. Furthermore, an average color gradation level of each group for each basic color is obtained as an approximate color. In each block, the difference between the color density of each pixel and the approximate color of each of the two groups is obtained, and the approximate color of a group, which indicates a smaller difference, is assigned to the pixel.
Code processing in which image information of each block is expressed by the two approximate colors of groups and the assignment of the approximate coolers to each pixel, is executed. In the above-mentioned code processing, since the length of the data for expressing the image information for each block is constant, the compression factor of image data is fixed.
If the above-mentioned code processing method and a multivalued (e-level) dither processing are employed in a printer system in which, after the image data of one page is first stored in a memory, printing of the image data is started, since the difference between the color density of each pixel and the value of each element in a dither matrix is expressed by m bits necessary to express n-levels in the n-level dither processing, it is necessary to store data including information expressing total pixels of one page, each pixel also being expressed by color data of m bits for each of four colors (C, M, Y, K).
Furthermore, if the multivalued dither processing is executed in a host computer, and the processed image data is transferred to a memory in a printer, it is necessary to transmit pixel data of each page expressed by color data of m bits for each of four colors.
Therefore in accordance with the above-mentioned conventional multivalued dither processing method, if the bit number of each of the data processed by the method is increased, the number of gradation for expressing each pixel color is also increased, but this requires a large memory capacity and a long data transmission time. On the other hand, if the bit number of each of the data is decreased, the memory capacity and the data transmission time can be reduced, but the number of gradations for expressing each pixel color is decreased, which deteriorates the quality of the image.
Furthermore, in the above-mentioned method, wherein the data processing method is changed in units of a page, it has been proven that the quality of the pictures and characters in a page of data including both pictures and characters is lower than that in a page including only pictures or only characters. It is further troublesome when a user switches a combination of one of various dither matrixes and the pulse width gradation number in the purse width modulation for each page.
In a method disclosed in JP-A-76377/1991, edge discrimination processing is performed for each input image, and different two-level processings are executed for an edge region and for a region neighboring the edge region, respectively.
Moreover, in a method disclosed in JP-A-90680/1993, edge discrimination processing is performed for each input pixel. If a pixel is discriminated as an edge pixel, and the color density of the pixel is higher than those of neighboring pixels, a more highly stressed color density is assigned to the pixel. On the other hand, if the color density of the pixel is lower then those of neighboring pixels, a lower color density is assigned to the pixel. If a pixel is not discriminated as an edge pixel, a not-stressed color density is assigned to the pixel, and a two-level data processing is performed on data for the pixel.
Meanwhile, in the methods disclosed in JP-A-76377/1991 and JP-A-90680/1993, although a two-level data processing is performed, a multiple-level data processing is not performed.
Generally, since the amount of image data to be processed is massive, an efficient data compressing method is important to process image data efficiently and to reduce the production cost of a printer system. In a conventional image printing method, it is premised that image data processing is executed for each image frame t page), and that image data of a partial region in the frame can not be rewritten. In such a method, even if data of only one pixel is to be rewritten, all compressed data (image data) for one frame is read out from the memory, the compressed data is expanded, data of the single pixel is rewritten, the data is compressed, and all the data is again stored in the memory. As mentioned above, since all image data for one image frame should be read out of a memory even if data of only one pixel is to be rewritten, it takes a long time to process image data, and it is necessary to provide a transitory memory having a capacity sufficient to hold all the read data of one image frame, which increases the whole memory capacity of a printing apparatus.
The first object of the present invention is to provide an image formation apparatus which can form images of high quality by processing data of the same bit number as that processed by a conventional image formation apparatus.
The second object of the present invention is to provide an image processing method, an image processing apparatus and an image outputting apparatus, by which images of high quality are efficiently formed and output.
The third object of the present invention is to provide a data processing apparatus which can process image data in a unit of one pixel.
To attain the first object, the present invention provides, for example, an image formation apparatus for forming an image, the color gradation of each unit area in the image to be formed, which corresponds to pixels of an original image, being performed by changing the amount of coloration applied to the unit area, based on image data expressing a color gradation of the pixel of the original image, the image formation apparatus comprising:
image data conversion means for converting image data for each pixel in an original image to image formation signals which determine an amount of coloration applied to a unit area corresponding to the position of the pixel so that the width of color gradation for a low color density region is narrower than that for a high color density region; and
image displaying means for coloring each unit area based on the image formation signals.
As mentioned above, in this image formation apparatus, the number of levels of color gradation is set larger in a low color density region. Since the larger number of levels of color gradation for a low color density region can be realized without increasing the bit number of a pixel, the generation of isolated dots in a low color density region in which reduction of the bit number in a pixel strongly affects the deterioration of the image qualify, can be suppressed without increasing the bit number of a pixel.
To attain the second object, the present invention provides a color image processing apparatus, comprising:
a discrimination pert for discriminating a first region composed of an edge region in an original image, a second region neighboring the first region, and a third region other than the first and second regions; and
a processing part for processing image data of the original image by executing multivalued dither processing for the first region with a dot distribution type multivalued dither matrix, for the third region with a dot concentration type multivalued dither matrix, and for the second region with a dot distribution and concentration mixing type multivalued dither matrix, the dither matrixes being provided in the image processing system.
Furthermore, in this image processing apparatus, the discrimination part includes an edge discrimination means for discriminating whether or not each of the pixels in the image is one of the pixels belonging to the edge region, a region neighboring edge region discrimination means for discriminating whether or not each of pixels in the image is one of the pixels neighboring the edge region based on discrimination results of the edge discrimination means, and a determination means for determining to which region each pixel belongs, based on discrimination results of the edge discrimination means and the region neighboring edge region discrimination means. For example, the edge discrimination means discriminates whether or not each pixel is one of the pixels belonging to the edge (contour line) in the image by using a color information value of each pixel and color information values of pixels circumscribing the pixel. The region neighboring edge region discrimination means determines whether or not at least one pixel belonging to the edge region is included in pixels circumscribing each pixel discriminated as not belonging to the edge region, at the upper and lower sides, and the left and right sides, and the four diagonal positions. The determination means determines to which one of the first and the second and the third regions each pixel belongs, by using discrimination results of the two discrimination means.
Furthermore, in the above-mentioned processing part, the first processing means executes multivalued dither processing for each pixel in the first region, discriminated as belonging to the edge, using the dot distribution type multivalued dither matrix by which high definition printing can be implemented. The second processing means executes multivalued dither processing for each pixel in the second region, discriminated as belonging to the region neighboring the edge, using the mixture type multivalued dither matrix by which the print quality between high definition and a very many-level gradation can be implemented. Moreover, the third processing means executes multivalued dither processing for each pixel in the third region, discriminated as belonging to a non-edge region, with the dot concentration type multivalued dither matrix by which very many-level gradation printing can be realized.
Furthermore, in an image outputting apparatus, it is effective to perform pulse width modulation processing for all data for which the multivalued dither processing has been executed.
To attain the third object, the present invention provides a data processing apparatus, when used to read out image data, which comprises:
a memory for storing data compressed with a fixed data compression factor;
data processing means, when at least one of image data for each pixel selected to be processed is read out of the memory for outputting an address corresponding to the at least one of the image data;
address conversion means for converting the address output from the data processing means to an address used for memory access to the memory; and
data expansion means for reading a plurality of compressed data from the memory, including compressed data corresponding to the address of the at least one of the image data, based on the address converted by the address conversion means, further expanding the plurality of read-out compressed image data, and outputting expanded image data corresponding to the address of the at least one of the image data, from among the plurality of the expanded image data, to the data processing means.
The present invention further provides a data processing apparatus, when used to write in image data, which comprises:
a memory for storing data compressed with a fixed data compression factor;
data processing means, when at least one of image data for each pixel selected to be processed is written into the memory, for outputting the at least one of image data and an address corresponding to the at least one of the image data;
address conversion means for converting the address output from the data processing means to an address used for memory access to the memory; and
data expansion means for reading a plurality of compressed image data from the memory, including compressed image data corresponding to the address of the at least one of the image data, based on the address converted by the address conversion means, and expanding the plurality of the read-out compressed image data; and
data compression means for compressing the plurality of the expanded image data and the at least one of the image data output from the data processing means with a fixed data compression factor, and storing the plurality of the compressed image data into their original area of the memory, based on the converted address for memory access.
The present invention further provides a data processing apparatus, when used to read out and write in image data, which comprises:
a memory for storing data compressed with a fixed data compression factor;
data processing means, when at least one of image data for each pixel selected to be processed is read out of the memory, for outputting an address corresponding to the at least one of the image data, and when at least one of image data for each pixel selected to be processed is written into the memory, for outputting the at least one of the image data and an address corresponding to the at least one of the image data;
address conversion means for converting the address output from the data processing means to an address used for memory access to the memory;
data expansion means for reading a plurality of compressed image data from the memory, including compressed data corresponding to the address of the at least one of the image data, based on the address converted by the address conversion means, and expanding the plurality of the read-out compressed image data; and
data compression means, when the at least one of the data for each pixel selected to be processed is written into the memory, for compressing the plurality of the expanded image data and the at least one of the image data output from the data processing means with a fixed data compression factor, and storing the plurality of the compressed image data into their original area of the memory, based on the converted address for memory access.
The present invention further provides a data processing apparatus, when used to read out and write in image data, which comprises:
a memory for storing reversible data compressed with a first data compression factor and irreversible data compressed with a second data compression factor;
data processing means, when data related with image data for a pixel selected to be processed is read out of the memory, for outputting addresses corresponding to the data related to the image data, and when data related to the image data for a pixel selected to be processed is written into the memory, for outputting the data related to the image data and addresses corresponding to the data related to the image data;
address conversion means for converting the addresses output from the data processing means to addresses used for memory access to the memory;
data expansion means for reading a plurality of compressed data from the memory, including compressed data corresponding to the converted addresses of the data related to the image data, based on the addresses converted by the address conversion means, and expanding the plurality of read-out compressed data;
data selection means for determining the type of data to be processed, by monitoring the addresses output from the data processing means, and selecting a destination to which the data output from the data processing means is to be sent, in accordance with the results of the determination performed by the data selection means;
first data compression means for compressing the data expanded by the data expansion means of the irreversible data which are selected by the data selection means, at the second data compression factor, and storing the data processed by the first data compression means into their original area in the memory, based on the addresses converted for memory access; and
second data compression means for compressing the data expanded by the data expansion means of the reversible data selected by the data selection means, at the first data compression factor, and storing the data processed by the second data compression means into their original area in the memory, based on the addresses converted for memory access.
To the above-mentioned data processing apparatus, the below-mentioned features can be added.
(1) The data processing means executes data read-out processing with priority to other processing.
(2) The apparatus further includes a buffer memory for temporarily storing the data and the addresses output from the data processing means when a group of data is written into the memory, and when the data processing means reads out the data and searches the data in the buffer memory, if the data exists in the buffer memory, the data processing means reads the data out of the buffer memory.
(3) The apparatus further includes another address generation means for generating an address of data processed independently of data processing executed by the data processing means, and an address selection means for selecting one of the addressee output from another address generation means and the data processing means and for sending the selected one to the address conversion means.
The present invention further provides a data processing apparatus using a buffer memory, the data processing apparatus comprising:
a memory for storing data compressed with a fixed data compression factor;
data processing means, when at least one of image data for each pixel selected to be processed is read out of the memory, for outputting an address corresponding to the at least one of the image data;
a buffer memory for temporally storing the address output from the data processing means;
address conversion means for converting the address read out of the buffer memory to an address used for access to the memory; and
data expansion means for reading a plurality of compressed data from the memory, including compressed data corresponding to the address of the at least one of the image data, based on the address converted by the address conversion means, further expanding the plurality of the read-out compressed image data, and outputting an expanded data corresponding to the address of the at least one of the image data, from among the plurality of the expanded image data, to the data processing means.
The present invention further provides a data processing apparatus using a buffer memory, the data processing apparatus comprising:
a memory for storing data compressed with a fixed data compression factor;
data processing means, when at least one of image data for each pixel selected to be processed is written into the memory, for outputting the at least one of the image data and an address corresponding to the at least one of the image data;
a buffer memory for temporarily storing the address output from the data processing means;
address conversion means for reading out the address stored in the buffer memory and converting the address to an address used for access to the memory; and
data expansion means for reading a plurality of compressed image data from the memory, including compressed data corresponding to the address of the at least one of the image data, based on the address converted by the address conversion means, and expanding the plurality of the read-out compressed image data; and
data compression means for compressing the plurality of the expanded image data and the at least one of the image data output from the data processing means at the fixed data compression factor, and storing the plurality of the compressed image data into their original area of the memory, based on the converted address for memory access.
To the above-mentioned data processing apparatus, the below-mentioned features can be added.
(1) The data processing apparatus further includes a reduced image signal generation means for determining addresses necessary for forming a contracted image in accordance with a designated image reduction ratio, and for generating signals forming the contracted image by using compressed data read out of the memory, based on the determined addresses.
(2) The memory is divided into a plurality of blocks, and each block includes compressed data composed of approximate color data and approximate color arrangement data. The data processing apparatus includes an enlargement/contraction processing means for reading approximate color arrangement data of a designated block from the memory and performing enlargement/contraction processing for the approximate color arrangement data, based on a selected enlargement/contraction ratio, and an enlarged/contracted image signal generation means for reading approximate color signal data of the designated block from the memory and for generating signals forming the enlarged/contracted image and expanding pertinent compressed data by using the approximate color signal data and the approximate color arrangement data processed by the enlargement/contraction processing means.
In the above mentioned data processing apparatus, when at least one of image data for each pixel selected to be processed (selected pixel data) is read out or written into the memory, memory access is executed, based on an address in the memory, corresponding to the selected pixel data, and a plurality of compressed image data including compressed image data corresponding to the address of the at least one of the image data is read out of the memory. The plurality of compressed image data are expanded, and the expanded image data is compressed with a fixed data compression factor, and the compressed data is stored into the original area in the memory, according to addresses based on the address of the at least one of the image data. Therefore, it is possible to prevent deterioration of the image quality even if image data is processed in a unit of one pixel, and to avoid an increase in the capacity of the memory. That is, in accordance with the above-mentioned data processing means, a memory access similar to that using a bit map memory is possible, and the memory can be efficiently used by storing compressed data. Furthermore, the compression factor can be set to a predetermined value independent of the kinds of images contained in a frame of data.